feat: Add MISP Sharing Pipeline engine - #87
Draft
remid0c wants to merge 2 commits into
Draft
Conversation
remid0c
marked this pull request as draft
June 25, 2026 07:06
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add MISP Sharing Pipeline Engine
Summary
This PR implements a new CoreTIDE engine that publishes OpenTIDE objects (TVM, DOM, MDR) as MISP events to one or more configured MISP instances. The pipeline follows the established CoreTIDE engine pattern and integrates with existing CI workflows.
Features
TLP-Based Sharing Scope: Objects are filtered per MISP instance based on
max_allowed_tlpconfiguration. Supports full TLP hierarchy (clear/white, green, amber, amber+strict, red) with case-insensitive parsing.Version Control: Compares local object version against remote MISP event version. Creates new events when none exist, updates when local > remote, skips when versions are current.
Deterministic Event UUIDs: MISP event UUIDs are derived deterministically from OpenTIDE object UUIDs using UUID5 namespacing, ensuring consistent event identity across instances.
Relation Resolution:
DataTide.Models.chainingwith cycle protectionobjective.threatsUUIDsdetection_modelUUID referenceMISP Event Tagging:
tlp:green, etc.)techniques_resolver()CI Integration: Supports GitHub Actions, GitLab CI, and Azure Pipelines. Skips on PR/MR events, executes on default branch push and LocalDebug mode.
Fail-Forward Error Handling: Connection failures to one MISP instance don't halt processing of others. API errors on individual objects are logged and processing continues.
Components Added
Engines/modules/sharing.pyEngines/sharing/__init__.pyEngines/sharing/connector.pyEngines/sharing/scope.pyEngines/sharing/relations.pyEngines/sharing/events.pyEngines/sharing/tagging.pyOrchestration/share.py.github/workflows/sharing.ymlPipelines/GitHub/sharing/action.ymlConfiguration
The pipeline reads from
sharing.toml:Testing
Requirements Covered
All 9 requirement groups from the spec:
Dependencies
Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.